package com.net.oil.user.contract;

import com.net.oil.base.IBaseModel;

/**
 * 作者：lch
 * 时间：2019/4/21 0021:下午 18:42
 * 邮箱：245850413@qq.com
 * 说明：
 */
public interface DeleteAccountContract {
    interface Model extends IBaseModel {

        /**
         * 获取手机验证码
         *
         * @param phone 手机号
         * @param ptt   是否是语音
         */
        void getPhoneCode(String phone, boolean ptt);

        /**
         * 注销账号
         * @param phone     手机号
         * @param password  密码
         * @param code      验证码
         */
        void deleteAccount(String phone, String password, String code);
    }

    interface View {

        /**
         * 获取验证码成功
         */
        void getPhoneCodeSuccess();

        /**
         * 获取验证码失败
         */
        void getPhoneCodeFailed();

        /**
         * 删除账号成功
         */
        void deleteAccountSuccess();

        /**
         * 删除账号失败
         */
        void deleteAccountFailed();
    }

    interface Presenter {
        /**
         * 获取手机验证码
         *
         * @param phone 手机号
         * @param ptt   是否是语音
         */
        void getPhoneCode(String phone, boolean ptt);

        /**
         * 获取验证码成功
         */
        void getPhoneCodeSuccess();

        /**
         * 获取验证码失败
         */
        void getPhoneCodeFailed();

        /**
         * 注销账号
         * @param phone     手机号
         * @param password  密码
         * @param code      验证码
         */
        void deleteAccount(String phone, String password, String code);

        /**
         * 删除账号成功
         */
        void deleteAccountSuccess();

        /**
         * 删除账号失败
         */
        void deleteAccountFailed();
    }
}
